In diesem Abschnitt beschäftigen wir uns mit den grundlegenden Begriffen rund um URL, URI und URN. Diese drei Begriffe spielen in der Informatik, insbesondere im Bereich der Webtechnologien, eine zentrale Rolle. Sie begegnen uns überall dort, wo Ressourcen im Internet eindeutig identifiziert und adressiert werden müssen – egal, ob es um Webseiten, Dateien oder andere digitale Objekte geht. Ziel dieses Kapitels ist es, die Unterschiede, Gemeinsamkeiten und die jeweilige Bedeutung von URL, URI und URN klar herauszuarbeiten. Ein URI ist das grundlegende Konzept, um Ressourcen eindeutig zu kennzeichnen. Dabei handelt es sich um eine abstrakte Regelmenge, nach der Kennzeichnungen aufgebaut werden. Ein URI darf beispielsweise keine Leerzeichen enthalten. Ganz wichtig ist auch der Aufbau: Jeder URI beginnt mit einem Schema-Namen, dem unmittelbar ein Doppelpunkt folgt. Dieser Schema-Name setzt sich ausschließlich aus ASCII-Buchstaben und Ziffern zusammen, eventuell getrennt durch Punkte oder Bindestriche. Das Ziel dieses Prinzips ist es, einheitliche und klare Regeln für die Identifikation von Ressourcen zu schaffen, sodass diese systematisch, eindeutig und fehlerfrei adressiert werden können. Ein URI besteht aus einer Zeichenfolge, die dazu dient, eine Ressource eindeutig zu identifizieren – egal ob es sich dabei um etwas Abstraktes oder um eine konkrete, physische Ressource handelt. URIs werden vor allem dazu genutzt, Webseiten, Dateien oder auch Webservices im Internet zu bezeichnen. Das Besondere ist, dass man URIs nicht nur digital verwenden kann, zum Beispiel eingebettet in HTML-Dokumente, sondern sie auch einfach von Hand auf Papier schreiben kann. Immer wenn wir einen Verweis von einer Webseite auf eine andere sehen, also einen Hyperlink, steckt dahinter ebenfalls ein URI. Damit ermöglichen URIs den gezielten Zugriff auf die unterschiedlichsten Ressourcen im Internet. Nach dem aktuellen Standard RFC 3986 setzt sich ein Uniform Resource Identifier aus bis zu fünf verschiedenen Teilen zusammen. Diese Teile sind das Schema beziehungsweise Protokoll, der Authority-Teil, der Pfad, die Abfrage und das Fragment. Das Schema legt beispielsweise fest, ob es sich um einen Zugriff per http, https oder ein anderes Protokoll handelt. Im Authority-Teil steht meist die Adresse des Anbieters oder Servers, gefolgt vom eigentlichen Pfad zur Ressource. Die Query, also die Abfrage, ermöglicht es, zusätzliche Informationen an die Ressource zu übergeben, und das Fragment verweist auf einen bestimmten Abschnitt innerhalb der Ressource. Wichtig ist: Nicht jeder URI muss all diese Bestandteile enthalten – verpflichtend sind lediglich das Schema und der Pfad. Diese klare Struktur sorgt dafür, dass URIs flexibel und vielseitig eingesetzt werden können. Wenn wir uns mit URIs beschäftigen, spielt das Thema Sonderzeichen eine wichtige Rolle. In einem URI dürfen nämlich nicht alle beliebigen Zeichen verwendet werden, sondern nur solche, die vom Standard zugelassen sind. Zeichen wie Leerzeichen oder bestimmte Sonderzeichen müssen deshalb speziell kodiert werden, damit sie korrekt und eindeutig verarbeitet werden können. So wird etwa ein Leerzeichen im URI durch die Zeichenfolge "%20" ersetzt. Diese Kodierung stellt sicher, dass ein URI auch dann noch technisch funktioniert und eindeutig bleibt, wenn ungewöhnliche oder länderspezifische Zeichen benötigt werden. Durch diese Regeln wird eine reibungslose Übertragung und Interpretation von URIs im Internet garantiert. Ein URN, also ein Uniform Resource Name, besitzt nach dem Standard RFC 8141 eine klar definierte allgemeine Struktur. Ein URN beginnt immer mit dem Präfix u-r-n Doppelpunkt. Danach folgt der Namespace-Identifier, der die Art des Namensraums beschreibt. Dieser Identifier ist eindeutig festgelegt und bei der IANA registriert, Beispiele hierfür sind „isbn“ für die internationale Standardbuchnummer, „uuid“ für einen universell eindeutigen Bezeichner oder „issn“ für die internationale Standardnummer fortlaufender Sammelwerke. Nach dem Namespace-Identifier kommt der namespace-spezifische Teil, der die Ressource innerhalb des jeweiligen Namensraums eindeutig identifiziert. Insgesamt sorgt diese Struktur dafür, dass URNs eindeutig, standardisiert und unabhängig vom aktuellen Standort der Ressource funktionieren. Eine URN ist grundsätzlich ein standortunabhängiger und dauerhafter Identifikator. Das bedeutet, sie verweist nicht darauf, wo sich eine Ressource gerade befindet, sondern stellt sicher, dass diese Ressource immer eindeutig identifiziert werden kann – unabhängig vom tatsächlichen Speicherort. Ein klassisches Beispiel ist die ISBN. Damit wird ein bestimmtes Buch eindeutig benannt, ohne dass ersichtlich ist, wo man das Buch gerade finden kann. Ein weiteres Beispiel ist die UUID als universell eindeutiger Bezeichner. Diese Art der Identifikation ist besonders wichtig überall dort, wo dauerhafte, beständige Verweise auf Ressourcen benötigt werden, unabhängig von deren aktueller Adresse oder ihrem Speicherort. Ein konkretes Beispiel für eine URN ist die folgende Zeichenfolge. Hierbei steht „urn“ für das standardisierte Präfix, das den URN als solchen kennzeichnet. „nbn“ ist der Namespace-Identifier, der in diesem Fall für den nationalen Bibliografie-Nummernbereich in Deutschland steht. Der restliche Teil ab DE ist der namespace-spezifische Teil, der die Ressource innerhalb dieses Namensraums eindeutig beschreibt. Solche URNs werden beispielsweise von Bibliotheken oder Archiven verwendet, um digitale Dokumente dauerhaft und unabhängig von ihrem aktuellen Speicherort eindeutig zu identifizieren. Eine URL ist eine spezielle Form eines URI, die konkret angibt, wo sich eine Ressource befindet – also den genauen Ort, an dem etwas zu finden ist. Dafür enthält die URL Standortinformationen wie das verwendete Protokoll wie HTTP, die Domain oder IP-Adresse sowie den Pfad zur Ressource. Typische Beispiele sind Webadressen, die genau beschreiben, wo sich ein bestimmtes Buch oder eine Datei befindet. Nach dem Standard RFC 3986 aus dem Jahr 2005 wird der Begriff URL offiziell zwar nicht mehr verwendet, im allgemeinen Sprachgebrauch ist er aber weiterhin sehr verbreitet – vor allem, wenn es um direkt adressierbare Ressourcen wie Webseiten geht. Unterschieden wird heute streng genommen zwischen URN, die standortunabhängige und dauerhafte Identifikatoren sind, und URI, die standortabhängig auf einen Zugriffsort verweisen. Trotzdem sprechen viele weiterhin von URLs, wenn sie eigentlich einen adressierbaren URI meinen. URNs sind explizit so definiert, dass sie ortsunabhängig funktionieren und keinen direkten Bezug zu einem Ort oder einer Zugriffsart haben. Das bedeutet, eine URN verweist nie darauf, wo sich eine Ressource befindet oder wie man darauf zugreift. Im Gegensatz dazu sind URLs immer ortsabhängig, sie müssen einen Zugriffspunkt wie eine Adresse oder einen Pfad enthalten. Dadurch schließen sich diese beiden Kategorien logisch gegenseitig aus: Eine URL benötigt immer Standortinformationen wie das Protokoll, die Domain, die IP-Adresse oder den Pfad. Eine URN hingegen darf solche Standortinformationen gerade nicht enthalten. Es gibt also keine Überschneidung zwischen URL und URN; sie sind voneinander abgegrenzt und dienen jeweils einem eigenen Zweck.